The Internet, a world-wide-network of interconnected computers, provides multi-media content including audio, video, graphics and text that requires a large bandwidth for downloading and viewing. Most Internet Service Providers (“ISPs”) allow customers to connect to the Internet via a serial telephone line from a Public Switched Telephone Network (“PSTN”) at data rates including 14,400 bps, 28,800 bps, 33,600 bps, 56,000 bps and others that are much slower than the about 10 Mbps to 30+Mbps available on a coaxial cable or Hybrid Fiber Coaxial (“HFC”) cable system on a cable television network.
With the explosive growth of the Internet, it is desirable to use the larger bandwidth of a cable television network to connect to the Internet and other computer networks. Cable modems, such as those provided by 3Com Corporation of Santa Clara, Calif., Motorola Corporation of Arlington Heights, Ill., Cisco Corporation of San Jose, Calif., Scientific-Atlanta, of Norcross, Ga., and others, offer customers a higher-speed connectivity to the Internet, an intranet, Local Area Networks (“LANs”) and other computer networks via cable television networks. These cable modems currently support data connections to the Internet and other computer networks via a cable television network with a data rate of up to 30+ Mbps, which is a much larger data rate than can be supported by a modem used over a serial telephone line.
Cable modems access available bandwidth by sending and receiving data through the same coaxial cable that carries cable-television (“CATV”) signals, rather than twisted-pair telephone wires used by dial-up and XDSL modems. Cable modems allow a computer user to send and receive information over a cable network. Many cable television networks provide bi-directional cable systems, in which data is sent “downstream”, from a cable system “headend” to a customer, as well as “upstream”, from the customer back to the headend. The cable system headend is a central location in the cable television network and is responsible for sending cable signals in the downstream direction and receiving cable signals in the upstream direction. An exemplary bi-directional data-over-cable system typically includes a customer premises equipment entity such a customer computer, a cable modem, a cable modem termination system (“CMTS”), a cable television network, and a data network such as the Internet.
A CMTS is located at the headend of a cable system and provides the interface where cable modems access the Internet. A CMTS performs functions such as bandwidth allocation and power level regulations while transmitting and receiving data to and from the cable modems. Both the cable modems and the CMTS modulate digital signals using techniques such as quadrature phase shift keying (“QPSK”) modulation and quadrature amplitude modulation (“QAM”).
Transmission between cable modems and CMTSs occurs in two separate frequency bands. On most US cable modem systems, downstream (CMTS-to-cable modem) data occupy 6 MHz channels between 50 to 860 MHz, and upstream (cable modem-to-CMTS) data occupy smaller bandwidth (200 kHz to 3.2 MHz) channels between 5 and 42 MHz. The downstream channel, having been used to transmit television signals that require superior transmission channel characteristics, supports complex modulation techniques such as 64-QAM and 256 QAM. Less complex and more robust modulation schemes such as QPSK and 16-QAM are typically used in the upstream channel to counteract the effects of ingress-undesired signals that leak into the cable system.
A modern cable network that supports broadcast television and high-speed data service combines fiber-optic and coaxial cable transmission facilities. Fiber-optic lines carry signals from the CMTS to a fiber node. Fiber-optic transmission lines carry signals over much greater distances than coaxial cables with fewer amplifiers. Reducing the number of amplifiers used on a cable system increases the channel capacity, improves the signal quality and reduces maintenance costs. Once the signals reach a fiber node, they are converted to coaxial cable lines, which carry the signals through the neighborhood to the subscribers' homes. Typically, a single fiber node on a coaxial cable line serves between 500 to 1000 cable service subscribers. However, other systems are possible as well, such as, a Fiber-To-The-Home (“FTTH”) system, where an optical node serves a single subscriber and, thus, increases Quality of Service (“QoS”) provided for the subscriber.
The distance between a cable modem subscriber and a CMTS dictates the amount of coaxial cable through which the digital signals must travel, and longer runs of cable typically produce more severe traffic losses. Further, the broadband nature of the cable network allows many cable modems to share the same communications media. This means that multiple cable modems are connected to a CMTS through a shared communication link.
Many applications that run on customer premise equipment entities such as personal computers or Voice over IP devices generate traffic at varying rates and generally require that network devices forward the traffic at the rates generated by the applications. Most network applications typically operate over a Transmission Control Protocol (“TCP”) that enables two hosts to establish a connection and exchange data. The TCP guarantees a delivery of data packets in the order the data packets were sent. As is known in the art, each TCP connection session involves a bi-directional connection process, where a plurality of switches provide high speed switching of data packets and use information in a header of a TCP packets to manage TCP traffic.
Some network applications may be less tolerant to traffic delays or losses than others. If infinite network resources were available, all application traffic could be carried at the application's required rate with no packet loss. However, network resources are not infinite, and test performance systems for testing network equipment are necessary to optimize the network capacity.
Testing of network devices is typically based on a throughput, or the ability to forward packets of various sizes between input (ingress) ports and output (egress) ports, measured in packets per seconds (“pps”) with measurable delay (latency) and delay variability (jitter). Typically, the biggest challenge experienced during testing of network devices is the ability to generate enough traffic to determine a point where a device under test starts to drop packets and reaches a saturation point.
One of the existing systems for network performance testing is the Netcom SmartBits™ system. The Netcom SmartBits™ emerged as a default industry standard testing tool for generating large amounts of traffic on many ports and measuring the results for the network performance such as throughput, latency and jiter. The Netcom system generates packets with a fixed-length or variable-length packets while receiving packets, and provides a testing tool for multiple modular ports. However, the Netcom system requires using a separate testing device (testing cards) for each device under testing. On a receiving side, each testing card contains counters to monitor such parameters as a number of packets that were transmitted, a number of packets that were received, byte counts, and collisions, for example. In the Netcom system, a Windows programming interface allows to program individual cards, monitor their status, and view the network performance data generated on each card.
However, the Netcom network testing systems are typically very expensive and limited in the sense that a network system requires a separate card for each network device to be tested in the network. In addition, there are other limitations associated with the Netcom system. Specifically, the Netcom cards place limitations on the types of traffic data that can be generated. For example, it is known in the art, that the Netcom system can generate data packets with IP headers, but cannot generate or test data using TCP sessions. Further, the packets generated on each card of the Netcom system have to be of one type, and sending a plurality of different packets using a single Netcom device is not possible.
FIG. 1 is a block diagram illustrating an exemplary Netcom SmartBits™ system architecture 100 in a data-over-cable system. As shown in FIG. 1, the system 100 includes two SmartBits™ devices 104, 106 connected with a link cable 108, where each SmartBits™ device has a plurality of SmartBits™ cards. As mentioned in the proceeding paragraphs and shown in FIG. 1, each SmartBits™ card is connected via a testing network connection (testing connections 110A–110G) to one cable modem (cable modems 114A–114G). FIG. 1 illustrates a two-way data-over-cable system where an upstream connection and a downstream connection are provided via a cable network 118 terminated with a CMTS 116 located at a head-end of the data-over-cable system. As is known in the art, each card has internal logic to perform network performance analysis for a device under testing. Once the performance analysis is completed, the Netcom cards provide the performance analysis data to a control network device 102. The control network device 102 has a graphical user interface functionality and, thus, displays the test results to system administrators. However, as mentioned in the proceeding paragraphs, the Netcom system has the ability to send only one type of packets in one direction of data flow and, thus, in the system shown in FIG. 1, all cards in the devices 104 and 106 generate the same type of packets. Further, the Netcom system has the limited ability to generate different protocols of data packets. The packets generated by the Netcom cards have to be of one type (the same protocol, the size, etc.) and sending a plurality of different packet types using the Netcom tools is not possible.
The existing network performance testing tools are generally limited in their ability to efficiently test networks under varying operating conditions. It is increasingly important to analyze the network conditions without limitations of the existing tools. In addition, eliminating the need for having a separate testing device at each port and providing greater flexibility of the testing tools would provide better means to test network under actual operating conditions. Therefore, it is desirable to develop an efficient and comprehensive network testing system.